home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
VIC20
/
B-Business
/
(v)b2.d64
/
sept 30 random
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-02-11
|
6KB
|
205 lines
1 REM FROM COMMODORE 1540 DISK MANUAL
2 REM GREATLY MODIFIED BY ROY ROBINSON VANCOUVER P U G
3 REM
4 REM
5 SC=36879
10 PRINT"[147][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191] DISK FILE PROGRAM [146]"
20 PRINT"[144]DO YOU NEED INSTRUCTIONS [158]?[146][144]"
30 PRINT" [158]Y[146]ES OR [158]N[146]O "
35 POKESC,31:GETO$:IFO$<>"Y"ANDO$<>"N"THEN35
40 POKESC,29:IFO$="Y"THENGOSUB1450:GOSUB2000
50 REM ***********************
60 REM * RANDOM FILE EXAMPLE *
70 REM ***********************
80 DIMI$(664):FD=0:FX=5:CH=2:FP=1:POKESC,29:F=0:O$=""
90 PRINT"[147][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191]"
100 PRINT" INSERT DATA DISK[157][157][157][157][157][157][157][157][157][196][196][196][196][196][196][196][196][196]"
120 PRINT"TO START PRESS '[158]S[146]'"
121 POKESC,31:GETP$:IFP$<>"S"THEN121
122 POKESC,29:OPEN15,8,15,"I0":OPEN2,8,2,"#":OPEN1,8,0,"$0"
123 PRINT"[147][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197]";
124 PRINT" INDEX FILE OPERATION"
125 PRINT"[198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198]"
140 T$="":I$=""
150 GET#1,B$
160 IF B$<>CHR$(34) THEN 150
170 GET#1,B$:IF B$<>CHR$(34)THEN T$=T$+B$:GOTO170
180 PRINT" "T$;
190 I$=I$+C$:GET#1,C$:IFC$<>""THEN190
200 PRINT""LEFT$(I$,3)" [146]";
210 CLOSE1
220 PRINT"[156]**********************";
250 PRINT" IS THIS A BLANK[144][146]DATA DISK ?"
251 PRINT" [158]Y[146][144]ES OR [158]N[146][144]O "
252 POKESC,31:GETO$:IFO$<>"Y"ANDO$<>"N"THEN252
253 POKESC,29:GOSUB1450:IFO$="N"THEN259
255 FORI=1TO664:I$(I)="/"
256 PRINT"[158] WAIT ![146]";
257 PRINTI;:PRINTTAB(15)I$(I);:
258 NEXTI:GOTO50
259 OPEN5,8,5,"0:INDEX,S,R"
260 FORI=1TO664:INPUT#5,I$(I)
270 PRINT"[158] WAIT ![146] [157][157][157][157][157]";
275 PRINTI;:PRINTTAB(15)I$(I);
280 NEXTI:CLOSE5
290 PRINT"[147][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197]";
300 PRINT" JOB MENU ";
310 PRINT"[198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198]";
320 PRINT
330 PRINT" [158]C[146]REATE"
340 PRINT" [158]D[146]ELETE"
350 PRINT" [158]S[146]EARCH"
360 PRINT" [158]E[146]ND"
370 PRINT
380 PRINT" ENTER FUNCTION[160]#"
390 POKESC,31:F=0:O$=""
395 GETO$:IFO$=""THEN390
400 POKESC,29:IFO$="E"THENCLOSE15:CLOSE5:CLOSE2:PRINT"[147]":END
410 IFO$="C"THEN475
420 IFO$="S"THEN860
430 IFO$<>"D"THEN290
440 GOTO670
450 REM ***********************
460 REM * MASTER FILE CREATE *
470 REM ***********************
475 PRINT"[147]"
480 PRINT"[197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197]";
490 PRINT" [160]MASTER FILE CREATE"
500 PRINT"[198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198]"
510 POKESC,31:INPUT"RECORD # [158]0[146] [157][157][157][157][157][157][157]";F:POKESC,29
511 GOSUB1450:IF F>664THENH1$="> 664":GOSUB1480:GOTO510
512 IFF=0THEN620
513 IFI$(F)<>"[166]"THENH1$="IS EMPTY":GOSUB1480:GOTO525
514 H1$=" [144]OCCUPIED":GOSUB1480
515 PRINT" DO YOU WISH TO:[158]1[146] WRITE FILE ?[158]2[146] READ FILE ?"
516 PRINT"[158]3[146] ANOTHER FILE ?"
517 POKESC,31:GETO$:IFO$<>"1"ANDO$<>"2"ANDO$<>"3"THEN517
518 POKESC,29
519 ONVAL(O$)GOTO525,890,620
525 GOSUB1450
535 FORI=1TO5:FB$(I)="":NEXT
537 PRINT"[183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183]";
538 PRINT"RECORD # ";F
540 INPUT"[158]NAME[146] =[157][157]";FB$(1)
550 INPUT"[158]ADD.[146] =[157][157]";FB$(2)
560 INPUT"[158]ZIP [146] =[157][157]";FB$(3)
570 INPUT"[158]TEL.[146] =[157][157]";FB$(4)
580 INPUT"[158]COM.[146] =[157][157]";FB$(5)
590 GOSUB1180
600 I$(F)="[166]"
610 GOTO480
620 GOSUB1450:OPEN5,8,5,"@0:INDEX,S,W"
630 FORI=1TO664:PRINT#5,I$(I);CHR$(13);
640 PRINT"[158] WAIT ![146] [157][157][157][157][157]"I;I$(I)
650 NEXT:CLOSE5
660 IF F<>0THEN475
665 GOTO290
670 REM ***********************
680 REM MASTER FILE DELETE
690 REM ***********************
700 PRINT"[147][144][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197]";
710 PRINT" MASTER FILE DELETE"
720 PRINT"[144][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198]":PRINT
730 POKESC,31:INPUT"RECORD # [158]0[146] [157][157][157][157][157][157][157]";F:POKESC,29
731 IF F>664THENH1$="> 664":GOSUB1480:GOTO730
733 IFF=0THEN810
735 IFI$(F)<>"[166]"THENH1$="IS EMPTY":GOSUB1480:GOTO730
740 H1$=" [144]OCCUPIED":GOSUB1480
750 PRINT"[158][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196][196]"
760 PRINT" RECORD NO."F;"DELETE[157][157][157][157][157][157][184][184][184][184][184][184] ARE YOU SURE [158]?[146]"
765 PRINT" [158]Y[146]ES OR [158]N[146]O "
770 POKESC,31
775 GETX$:IFX$<>"N"ANDX$<>"Y"THEN770
780 POKESC,29:IFX$="N"THEN700
790 I$(F)="/"
800 GOSUB1450:GOTO730
810 OPEN5,8,5,"@0:INDEX,S,W"
820 FORI=1TO664:PRINT#5,I$(I);CHR$(13);
830 PRINT"[158] WAIT ![146] [157][157][157][157][157]"I;I$(I)
840 NEXT:CLOSE5
850 GOTO290
860 REM ***********************
870 REM * FILE SEARCH *
880 REM ***********************
890 PRINT"[147][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197]";
900 PRINT" SEARCH "
910 PRINT"[198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198][198]":PRINT
915 IFO$="2"THEN930
920 POKESC,31:INPUT"RECORD # [158]0[146] [157][157][157][157][157][157][157]";F:POKESC,29
930 POKESC,29:IF F>664THENH1$="> 664":GOSUB1480:GOTO920
940 IFF=0THEN290
950 IFI$(F)<>"[166]"THENH1$="IS EMPTY":GOSUB1480:GOTO920
960 H1$="OCCUPIED":GOSUB1480:GOSUB1070
970 GOSUB1450
975 PRINT"[183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183]";
980 PRINT"RECORD # ";F
1000 PRINT"NAME[146]:";FB$(1)
1010 PRINT"ADD.[146]:";FB$(2)
1020 PRINT"P.C.[146]:";FB$(3)
1030 PRINT"TEL.[146]:";FB$(4)
1040 PRINT"COM.[146]:";FB$(5)
1050 PRINT"---------------------"
1055 IFO$="2"THEN480
1060 GOTO920
1070 REM ***********************
1080 REM * FDD BLOCK READ *
1090 REM ***********************
1100 GOSUB1380
1110 PRINT#15,"U1:";CH;FD;FT;FS
1120 PRINT#15,"B-P:";CH;FP
1130 GOSUB1270
1140 FORFI=1TOFX
1150 INPUT#CH,FB$(FI):
1160 NEXT
1170 RETURN
1180 REM ***********************
1190 REM * FDD BLOCK WRITE *
1200 REM ***********************
1210 GOSUB1380
1220 PRINT#15,"B-P:";CH;FP
1230 FORFI=1TOFX:PRINT#CH,FB$(FI);CHR$(13);:NEXT
1240 PRINT#15,"U2:";CH;FD;FT;FS
1250 GOSUB1270
1260 RETURN
1270 REM ***********************
1280 REM * ERROR CHECK *
1290 REM ***********************
1300 INPUT#15,EN,EM$,ET,ES
1310 IFEN=0THENRETURN
1320 PRINT"ERROR STATUS:";EN;EM$;ET;ES
1330 POKESC,31:INPUT"CONTINUE?";Y$POKESC,29:IFY$="Y"THENRETURN
1340 STOP
1350 REM ***********************
1360 REM * SET TRACK & SECTOR *
1370 REM ***********************
1380 IFF<358THENF1=0:F2=22:F3=1:GOTO1420
1390 IFF>357ANDF<471THENF1=357:F2=20:F3=19:GOTO1420
1400 IFF>471ANDF<580THENF1=471:F2=19:F3=25:GOTO1420
1410 IFF>580THENF1=580:F2=18:F3=31
1420 FT=INT(((F-F1)-1)/(F2-1))+F3
1430 FS=F-F1-(FT-F3)*F2+(FT-F3-1)
1440 RETURN
1450 FORQ=4272TO4601:
1460 POKEQ,32:NEXT
1470 RETURN
1480 H$="[144]RECORD #":C$=" [145]"
1490 PRINT""C$;H$;F;H1$;""
1500 RETURN
1510 STOP
2000 PRINT"THIS PROGRAM CREATES A DISK FILE WITH 664 RECORDS ( # 1-664 )."
2010 PRINT"THE JOB MENU ALLOWS SELECTION OF FOUR FUNCTIONS."
2020 PRINT"ENTERING RECORD[146] # [158]0[146] WILL TAKE YOU BACK TO THE MENU"
2030 PRINT"CONTINUE [158]Y[146]ES OR [158]N[146]O";
2040 POKESC,31:GETO$:IFO$<>"Y"ANDO$<>"N"THEN2040
2045 POKESC,29
2050 IFO$="N"THEN RETURN
2060 GOSUB1450
2070 PRINT"THE BORDER COLOR WILL BECOME [158]YELLOW WHEN A";
2080 PRINT"RESPONSE IS EXPECTED."
2090 PRINT"THE RETURN KEY MUST BE DEPRESSED AFTER ENTERING THE RECORD#.";
2100 PRINT"DO YOU WISH TO REREAD THE INSTRUCTIONS";
2110 PRINT" [158]Y[146]ES OR [158]N[146]O "
2120 POKESC,31:GETO$:IFO$<>"Y"ANDO$<>"N"THEN2120
2130 POKESC,29:IFO$="N"THENRETURN
2140 GOTO40